import axios from "axios";
import nprogress from "nprogress";
import "nprogress/nprogress.css";

const ajax = axios.create({
  baseURL: "/api", //基础路径
  timeout: 10000, //超时时间
});
//拦截器
//进度条在请求拦截器之前
// 添加请求拦截器
ajax.interceptors.request.use(function (config) {
  //开启进度条
  nprogress.start();
  //请求所有相关信息的一个对象( 请求报文 )

  return config;
});
// 添加响应拦截器
ajax.interceptors.response.use(
  function (response) {
    //响应成功的回调
    //结束进度条
    nprogress.done();
    //return 的结果就是发送请求获取到的结果
    return response.data; //统一处理响应式的数据格式
  },
  function (error) {
    nprogress.done();
    //响应失败的回调
    if (error.response.status === 401) {
      alert("未授权");
    } else if (error.response.status === 403) {
      alert("静止访问");
    } else if (error.response.status === 404) {
      alert("错误访问");
    } else if (error.response.status === 500) {
      alert("服务器出错");
    }
    //因为这里要统一处理请求错误 改成等待状态
    return new Promise(() => {});
  }
);
export default ajax;
